package com.cskaoyan.com.collection.list;

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

public class DemoList5 {
    public static void main(String[] args) {

        List<String> list = new ArrayList<>();
        list.add("zs");
        list.add("ls");
        list.add("wu");
        list.add("zl");

        //ListIterator 类型 是Iterator类型的子类型:
        //         hasNext()
        //         next()
        //         remove()
        //         hasPrevious():  判断可不可以向前
        //         previous():  向前遍历
        //         add(): 添加数据到当前遍历位置
        //         set(): 修改刚刚遍历的数据的位置
        //         nextIndex(): 向后遍历数据的下标
        //         previousIndex(): 向前遍历数据的下标

        ListIterator<String> iterator = list.listIterator();
        iterator.next();

        //           0             1            2           3
        //           zs           ls           wu          zl
        //                 标记位
        // iterator.add("aa");
//        iterator.set("aa");
        System.out.println(iterator.nextIndex());
        System.out.println(iterator.previousIndex());


        System.out.println(list);




        // ---------------三个新增加的特殊方法--------
//        ListIterator<E> listIterator() : 可以认为是iterator的增强版
//        返回此列表元素的列表迭代器（按适当顺序）。
//        ListIterator<E> listIterator(int index)
//        返回列表中元素的列表迭代器（按适当顺序），从列表的指定位置开始。
//        List<E> subList(int fromIndex, int toIndex)
//        返回列表中指定的 fromIndex（包括 ）和 toIndex（不包括）之间的部分视图。
//


    }
}
